﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace OffInvoiceExcelAddIn
{
    public partial class FrmViewDetails : Form
    {
        #region "Constructors"

        /// <summary>
        /// Constructor que inicializa todos los componentes gráficos del formulario.
        /// </summary>
        public FrmViewDetails()
        {
            InitializeComponent();
        }

        #endregion

        #region "Public Methods"

        /// <summary>
        /// Método que muestra el error que recibe por parámetro.
        /// </summary>
        /// <param name="error">Parámetro de tipo string que contiene el error a mostrar</param>
        public void AddError(string error)
        {
            txtDetails.Text = error;
        }

        /// <summary>
        /// Método que carga el archivo de idioma y establece los textos de los controles
        /// en el idioma que corresponde.
        /// </summary>
        public void LoadLanguage()
        {
            try
            {
                Language labels = Language.getInstance();
                this.Text = labels.getLabels(this.Name);
                gbxDetails.Text = labels.getLabels(gbxDetails.Name);
                btnOk.Text = labels.getLabels(btnOk.Name);
            }
            catch (Exception)
            {
                ControlMessages msg = ControlMessages.getInstance();
                MessageBox.Show(msg.getMessage(ControlMessages.Msg.ErrorLoadLanguage), msg.getMessage(ControlMessages.Msg.CaptionConfig), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }


        #endregion

        #region "EventHandler"

        /// <summary>
        /// Método que maneja el evento que se produce al hacer click con el ratón sobre el botón de aceptar.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOk_Click(object sender, EventArgs e)
        {
            this.Close();
        }


        /// <summary>
        /// Método que maneja el evento que se produce al mostrarse el formulario.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmViewDetails_Load(object sender, EventArgs e)
        {
            LoadLanguage();
        }

        #endregion
    }
}
